package com.orzxlee.Lambda02;

/**
 * Lambda 表达式的格式:(形式参数) -> {代码块}
 *
 *  练习1
 *      1.定义一个接口Eatable,定义方法void eat();
 *      2.创建接口的实现类EatableImpl,重写方法
 *      3.定义测试类EatableDemo
 *          定义方法:useEatable(Eatable e)
 *
 *
 */
public class EatableDemo {
    public static void main(String[] args) {

        //1.通过实现类调用
        Eatable eatable = new EatableImpl();
        useEatable(eatable);

        //2.匿名内部类
        useEatable(new Eatable() {
            @Override
            public void eat() {
                System.out.println("匿名内部类方式 吃苹果 ");
            }
        });

        //3.Lambda表达式
        useEatable(() -> {
            System.out.println("Lambda表达式 吃苹果");
        });


    }

    private static void useEatable(Eatable e){
        e.eat();
    }
}
